package com.codedancer.campus.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.codedancer.campus.common.core.BaseMapper;
import com.codedancer.campus.po.LostFoundItem;
import com.codedancer.campus.qo.lostFoundItem.LostFoundItemPageSearchQo;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface LostFoundItemMapper extends BaseMapper<LostFoundItem> {

    /**
     * 分页查询物品
     * @param lostFoundItemPage
     * @param lostFoundItemPageSearchQo
     * @return
     */
    IPage<LostFoundItem> page(Page<LostFoundItem> lostFoundItemPage, @Param("lostFoundItemPageSearchQo") LostFoundItemPageSearchQo lostFoundItemPageSearchQo);

    /**
     * 分页查询物品
     * @param lostFoundItemPage
     * @param lostFoundItemPageSearchQo
     * @return
     */
    IPage<LostFoundItem> page2Manager(Page<LostFoundItem> lostFoundItemPage, @Param("lostFoundItemPageSearchQo") LostFoundItemPageSearchQo lostFoundItemPageSearchQo);

    /**
     * 详情
     * @param uuid
     * @return
     */
    LostFoundItem detail(String uuid);

    /**
     * 分页查询用户物品
     *
     * @param lostFoundItemPage
     * @param lostFoundItemPageSearchQo
     * @return
     */
    IPage<LostFoundItem> page2User(Page<LostFoundItem> lostFoundItemPage,
        @Param("lostFoundItemPageSearchQo") LostFoundItemPageSearchQo lostFoundItemPageSearchQo);

    /**
     * 获取需要导出的物品
     *
     * @param lostFoundItemPageSearchQo
     * @return
     */
    List<LostFoundItem> listExportLostFoundItem(
        @Param("lostFoundItemPageSearchQo") LostFoundItemPageSearchQo lostFoundItemPageSearchQo);
}
